"use strict";
/**
 * 3.函数类型
 */
/**
 * 一、函数的两种声明方式
 * 通过function关键词来进行声明
 */
function sum(a, b) {
    return a + b;
}
sum("a", "n");
var sum1 = function (a, b) {
    return a + b;
};
/**
 * 二、可选参数
 */
var sum2 = function (a, b) {
    return a + b;
};
sum2("a"); // 可选参数必须在其他参数的最后面
/**
 * 三、默认参数
 */
var sum3 = function (a, b) {
    if (b === void 0) { b = "b"; }
    return a + b;
};
sum3("a"); // 默认参数必须在其他参数的最后面
/**
 * 四、剩余参数
 */
var sum4 = function () {
    var args = [];
    for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
    }
    return args.reduce(function (memo, current) { return memo += current; }, "");
};
sum4("a", "b", "c", "d");
function toArray(value) {
    if (typeof value === "string") {
        return value.split("");
    }
    else {
        return value.toString().split("").map(function (item) { return Number(item); });
    }
}
toArray(123); // 根据传入不同类型的数据 返回不同的结果
toArray("123");
